
The SurfaceFollow operator constrains particle movement
and their positions to a selected surface. This operator also offers many
extra features to create well defined particle generation based on distances
traveled.
ON (Bool) - This input data
stream determines whether the operator is considered 'on' or 'off'. You
can connect other operators to this input channel such as a Bool
Helper to activate/deactivate the whole operator.
Time (Time) - This input data stream is used to define the local
time for the operator when the user wants to override the default system
time.
Particle (Particle) - This input data stream reads in the currently
selected particle group that is to have its particles follow the selected
node. The data stream MUST be connected and will be highlighted
yellow if it is not.
Floor Node - (Node) This input data stream is used to specify
through a node helper for example a 3D mesh as a surface follow object.
UI Control Parameters - those input data streams are the equivalent
of the UI controls, keep in mind that there is no visual indication that
an operator is connected to any of those inputs! It might be needless
to adjust a value if it gets overwritten by a connected operator.
This operator makes particles travel over a defined surface. The operator
can activate various useful outputs once a certain sample length is met.
Sample length is basically a specific fraction of distance the particle
has travelled on the surface. The above described feature can be used
for example, to lay equidistant traces of particles along the path of
a particle moving over a surface.
Sub Position - is the position (absolute world) of the particle
on the surface at the current Sample Length value. This position is obtained
by sampling the particle movement at the current sample length.
Sub Velocity - represents the velocity of the particle on the
surface at the current Sample Length value. This velocity is obtained
by sampling the particle movement at the current sample length.
Sub Normal - will be the surface normal of the particle on the
surface at the current Sample Length value. This Surface Normal is obtained
by sampling the particle movement at the current sample length.
Sub Alignment - outputs the alignment of the particle on the surface
at the current Sample Length value. This Alignment is obtained by sampling
the particle movement at the current sample length.
Sub BaryCoordinates - supplies the Barycentric coordinates of
the particle on the surface at the current Sample Length value. This Barycentric
coordinates is gotten by sampling the particle movement at the current
sample length.
Sub Face Number - outputs the face number (ID) of the particle
on the surface at the current Sample Length value. This Surface Normal
is obtained by sampling the particle movement at the current sample length.
Sub Sample - carries the value of the number of times the Sample
Length method was executed to reach this particle position
Sub Travel Length - outputs the total length the particle has
traveled so far

Distance - sets an offset to the surface (floor) for all particles
controlled by this operator.
Variation - adds a random value on top of the Distance parameter
for each single particle controlled by this operator.
Vertical X,Y,Z - sets the vertical (90 degrees perpendicular to
path) orientation of the particles that follows the path. Let's say you
see a circular path while looking from the top viewport, vertical would
mean the direction poking into your eye! Or if you sit at the particle's
position it is the UP vector.
Invert - when checked , the orientation of the selected axis becomes
inverted.
Travel X,Y,Z - defines the travel direction in relation to the
particle. Imagine sitting in a roller coaster, the path-axis would define
the driving direction of your particle.
Invert - check this option to invert the path-axis setting.
Speed - defines the speed the particles react on alignment changes.
The higher this value the faster the particles will align themselves to
the surface they follow.
Sample Length - sets the distance in 3ds Max units at which a
"particle sample" is taken and output to the data streams. A
value of 0.0 will deactivate the distance sampling feature of this operator.